package utils

// 获取静态文件
import (
	"go.uber.org/zap"
	"gopkg.in/yaml.v2"
	"io/ioutil"
	"os"
)

// Env 静态配置项-从代码读取
type Env struct {
	Name  string `yaml:name`
	Auto  bool   `yaml:auto`
	Port  int    `yaml:port`
	Nacos Nacos
}

// Nacos 服务中心/注册中心地址结构-从代码读取
type Nacos struct {
	Http           string
	Port           string
	Config_data_id string
	Config_group   string
	Client_configs ClientConfigs
	Server_configs ServerConfigs
}

type ClientConfigs struct {
	Namespace_id            string
	Region_id               string
	Timeout_ms              uint64
	Not_load_cache_at_start bool
	Log_dir                 string
	Cache_dir               string
	Log_level               string
}

type ServerConfigs struct {
	Ip_addr1      string
	Context_path1 string
	Port1         uint64
	Scheme1       string
}

var GlobalEnv Env

func RegisterEnv() {

	file, err := os.Open("conf/env.yaml")

	if err != nil {
		panic(err)
	}

	bytes, err := ioutil.ReadAll(file)
	if err != nil {
		panic(err)
	}

	err = yaml.Unmarshal(bytes, &GlobalEnv)

	zap.S().Debug("env文件配置信息", GlobalEnv)

	if err != nil {
		zap.S().Debug("加载配置文件失败", err)
	}
}
